redis的安装和常用命令

文章目录
  1. 1. 安装
  2. 2. 常用命令
    1. 2.1. 连接远程redis服务器
    2. 2.2. 键相关的基本命令
    3. 2.3. 字符串string相关命令
    4. 2.4. 哈希hash相关命令
    5. 2.5. 链表List相关命令
    6. 2.6. 集合Set相关命令
    7. 2.7. 有序集合sorted set
    8. 2.8. HyperLogLog基数统计
    9. 2.9. 发布订阅
    10. 2.10. Redis事务
    11. 2.11. redis连接
    12. 2.12. redis服务器命令
  3. 3. 参考

redis的安装、常用命令、关键知识点。

安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#下载
wget http://download.redis.io/releases/redis-xxx.tar.gz
tar xzf redis-xxx.tar.gz
cd redis-xxx
make

#运行server
./src/redis-server &

#启动客户端使用
./src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

常用命令

连接远程redis服务器

1
2
3
4
$redis-cli -h 127.0.0.1 -p 6379 -a "mypass"
redis 127.0.0.1:6379>
redis 127.0.0.1:6379> PING
PONG

键相关的基本命令

当key存在时删除key

1
DEL key

序列化给定的key并返回

1
DUMP key

检查给定的key是否存在

1
EXISTS key

为key设定过期时间,以秒计

1
EXPIRE key seconds

为key设定过期时间,接收时间戳

1
EXPIREAT key timestamp

查找符合给定模式的key

1
KEYS pattern

移除key的过期时间

1
PERSIST key

修改key的名称

1
RENAME key newkey

字符串string相关命令

设置、获取key值

1
2
SET key value
GET key

返回key对应字符串的长度

1
STRLEN key

同时设置多个key-value

1
MSET key1 value1 key2 value2

在key对应value后面追加字符串

1
APPEND key str1

哈希hash相关命令

设置、获取hash表

1
2
3
4
5
6
HMSET key name1 "value1" name2 "value2"
HGETALL key
"name1"
"value1"
"name2"
"value2"

删除一个或多个hash表字段

1
HDEL key name1 [name2]

查看某字段是否存在

1
HEXISTS key name1

获取指定字段的值

1
HGET key name1

为hash表key的某整数字段加增量

1
HINCRBY key name2 increment

链表List相关命令

在右边添加或删除元素

1
2
RPUSH key name1 name2 ...
RPOP key

在左边添加或删除元素

1
2
LPUSH key name1 name2
LPOP key

获取指定范围元素

1
RANGE key 0 9

获取链表长度

1
LLEN key

通过索引设置列表元素的值

1
LSET key index value

集合Set相关命令

往集合添加元素

1
2
3
SADD key redis
SADD key mysql
SADD key mongodb zeromq kafka

获取集合成员数

1
SCARD key

返回集合中所有成员

1
SMEMBERS key

返回集合的差集

1
2
3
4
SADD s1 1 2 3 4 5
SADD s2 4 5 6 7 8
SDIFF s1 s2
1 2 3

返回所有集合的交集

1
SINTER key1 key2 ...

返回集合的并集

1
SUNION key1 key2 ...

计算差集并创建新集合

1
SDIFFSTORE newkey s1 s2

计算交集并创建新集合

1
SINTERSTORE newkey key1 [key2]

计算并集并创建新集合

1
UNIONSTORE newkey key1 [key2]

判断member是否为集合key的成员

1
SISMEMBER key member

将member从src移动到dst

1
SMOVE src dst member

有序集合sorted set

往有序集合添加元素

1
2
ZADD key 1 redis
ZADD key 2 mongodb 3 mysql

范围查询元素

1
ZRANGE key 0 10 WITHSCORES

获取有序集合的成员数

1
ZCARD key

计算指定分数区间的成员数

1
ZCOUNT key min max

计算交集并储存到新集合

1
ZINTERSTORE dst numkeys key1 [key2...]

计算并集并储存到新集合

1
ZUNIONSTORE dst numkeys key [key...]

通过分数返回指定区间的成员

1
ARANGEBYSCORE key min max [WITHSCORES][LIMIT]

移除有序集合中的一个或多个成员

1
ZREM key member [member...]

移除给定字典区间的所有成员

1
ZREMRANGEBYLEX key min max

移除给定排名区间的所有成员

1
ZREMRANGEBYRANK key start stop

移除给定分数区间的所有成员

1
ZREMRANGEBYSCORE key min max

返回集合中成员的分数

1
ZSCORE key member

迭代有序集合中的元素

1
ZSCAN key cursor [MATCH pattern][COUNT count]

HyperLogLog基数统计

添加元素到HyperLogLog中

1
PFADD key element [element...]

返回给定HyperLogLog的基数估算值

1
PFCOUNT key [key...]

合并多个HyperLogLog

1
PFMERGE dstkey srckey [srckey...]

发布订阅

实例

1
2
3
4
#客户端1订阅频道
SUBSCRIBE redischat
#客户端2发布消息
PUBLISH redischat "hello redis"

订阅给定的频道

1
SUBSCRIBE channel [channel...]

将消息发送到指定频道

1
PUBLISH channel message

退订给定的频道

1
UNSUBSCRIBE [channel...]

Redis事务

标记一个事务块的开始

1
MULTI

执行事务块内所有命令

1
EXEC

取消事务,放弃执行事务块内所有命令

1
DISCARD

监视key,如果事务执行前key被其他命令改变,事务将被打断

1
WATCH key

取消对所有key的监视

1
UNWATCH

redis连接

切换数据库

1
SELECT index

查看redis服务器是否运行

1
PING

验证密码是否正确

1
AUTH password

打印字符串

1
ECHO message

关闭当前连接

1
QUIT

查看服务器的统计信息

1
INFO

redis服务器命令

%%%

参考